package com.cotasul.negocio;

import java.util.List;
import java.util.Map;

import com.cotasul.bean.CompradorBean;
import com.cotasul.negocio.excecoes.EmailException;
import com.cotasul.negocio.interfaces.ICompradorServico;
import com.cotasul.persistencia.CompradorDao;
import com.cotasul.persistencia.interfaces.ICompradorDao;
import com.cotasul.persistencia.interfaces.IDaoGenerico;

public class CompradorServico<P extends CompradorBean> extends
		ServicoGenerico<P> implements ICompradorServico<P> {

	private ICompradorDao<P> dao;

	public CompradorServico() {
		dao = new CompradorDao<P>();
	}

	@Override
	public void alterar(P p) throws Exception {
		// TODO Auto-generated method stub

	}

	@Override
	public Map<String, Long> salvar(P p) throws Exception {
		return this.dao.salvar(p);
	}

	@Override
	public IDaoGenerico<P> getDao() {
		return this.dao;
	}

	@Override
	public CompradorBean buscaComprador(P p) throws Exception {
		return this.dao.buscaComprador(p);
	}

	@Override
	public void preSalvar(P p) {

	}

	@Override
	public void posSalvar(P p) {

	}

	@Override
	public void excluir(P p) throws Exception {
		try {
			this.dao.exluir(p);
		} catch (Exception e) {
			throw e;
		}
	}
	@Override
	public void aprovaComprador(P p) throws Exception {

		try {
			this.dao.aprovaComprador(p);
		} catch (Exception e) {
			throw e;
		}

	};

	@Override
	public List<P> filtraCompradores(P p) throws Exception {
		try {
			return this.dao.filtraCompradores(p);
		} catch (Exception e) {
			throw e;
		}
	}

	@Override
	public void enviaEmailComprador(String msg, String titulo, Long codItemOrca)
			throws EmailException {
		this.dao.enviaEmailComprador(msg, titulo, codItemOrca);

	}

	@Override
	public List<CompradorBean> buscaComprador(Map<String, String> param)
			throws Exception {
		// TODO Auto-generated method stub
		return this.dao.buscaComprador(param);
	}
}
